/*
 * 文件描述：音乐播放器列表的每一项
 * 文件作用：声明音乐播放器列表的项类musicListItem
 * 文件创建时间：2017-4-3
 * 文件创建者：wsgalaxy@163.com
 * 文件最后修改时间：
 * 文件修改者：
 * 文件协议：GPL
 *
 */


#ifndef MUSICLISTITEM_H
#define MUSICLISTITEM_H

#include <QWidget>

#include "musicListAdapter.h"

//音乐播放器列表项类
class musicListItem : public QWidget
{
    Q_OBJECT
private:
    int isMouseIn;          //鼠标是否在控件中
    int isDeletePointed;    //鼠标是否在删除按钮上
    musicData* data;        //与该项对应的音乐句柄
public:
    explicit musicListItem(QWidget *parent = 0);
    int setMusicData(musicData* d);     //设置音乐句柄

signals:
    void deleteMusic(musicData* d);     //鼠标点击了删除按钮后发出
    void playMusic(musicData* d);       //鼠标双击项后发出

public slots:

protected:
    void paintEvent(QPaintEvent* event);
    void mousePressEvent(QMouseEvent* event);
    void mouseMoveEvent(QMouseEvent* event);
    void enterEvent(QEvent* event);
    void leaveEvent(QEvent* event);
    void mouseDoubleClickEvent(QMouseEvent* event);
    //void mouseReleaseEvent(QMouseEvent* event);
};

#endif // MUSICLISTITEM_H
